配置VTK的那些“坑”

您所在的位置:网站首页 文件夹 bin lib include 配置VTK的那些“坑”

配置VTK的那些“坑”

2024-05-31 16:58| 来源: 网络整理| 查看: 265

配置VTK遇到无数的“坑”,整了三天,现在把自己的收获记录下来! VTK配置的几大过程 1.材料准备 1.1 VTK8.2 网址:https://vtk.org/download/ 1.2 CMAKE 网址:https://cmake.org/download/ 1.3 VS和QT的就到官网下载吧 2.vtk安装 2.1 VTK下载后解压: 在这里插入图片描述 2.2 然后在此文件夹下新建一个build和install文件夹: 在这里插入图片描述 build用来存放编译时生成编译的二进制文件 install用来存放debug文件或者release文件(图中未标出) 可以生成两种格式的文件(我们主要用到的),注意切换生成是应该把两个格式文件分别存放,不然可能会造成覆盖(个人第一次配置的时候,先配置debug版本后面配置release版本,导致覆盖,debug版本不能用) 3. Cmake编译 3.1 打开安装的cmake-gui,选择VTK源码路径,以及二进制存放路径,此即我们规划的VTK-8.2.0-src与VTK-8.2.0-bin。然后开始Config即可。 在这里插入图片描述 3.2 选择Visual Studio 17 2017 Win64(64位版本的VS 2017)编译。选择后点击Finish。 在这里插入图片描述 3.3 第一次Config完成以后,此时界面会变成红色。我们需要对一些选项进行配置。这一步我们勾选BUILD_EXAMPLES即编译VTK自带的示例文件。当然这不是必须的,勾选编译示例会增加额外的编译时间。但是,BUILD_SHARED_LIBS一定确保是勾选的,VTK-8.2.0默认是勾选的。此项的作用是生成动态共享库DLL。 在这里插入图片描述 3.4 这一步选择是相当重要的,CMAKE_INSTALL_PREFIX是我们VTK库要安装的位置,亦即VTK编译后生成的库文件所在位置,建议将位置修改为我们规划的VTK-8.2.0-Install-VS2017-x64-Debug文件夹。虽然图中是Release,但是我还是建议选择Debug文件夹,因为我的思路是先生成Release版本的VTK库,生成后,将所有文件全部剪切到VTK-8.2.0-Install-VS2017-x64-Release文件夹下。接下来再次生成Debug版本,就会在Debug文件夹里了。之所以这么做,还是因为我们选择CMAKE_INSTALL_PREFIX路径后不可以改变。 在这里插入图片描述 3.5 因为我们要使用Qt所以此处要勾选VTK_Group_Qt。 在这里插入图片描述 3.6 使用第三方的经验告诉我们,Debug版本的库后面一般带d表示是Debug版本。例如:opencv_world400.lib是Release版本的库,opencv_world400d.lib是Debug版本的库。因此,为了区分版本,我们在CMAKE_DEBUG_POSTFIX后面添加d这样进行Debug版本编译时会在库文件名后面多个d。 在这里插入图片描述 3.7 如果你下载了VTK-8.2.0-Data,在VTK_DATA_STORE中可以选择VTK-8.2.0-Data所在的路径。这一步为非必要步骤。执行完以上步骤以后再次点击Config。 在这里插入图片描述 3.8 你会发现这里还是有一片红色区域,这里是让我们选择Qt5的位置,基本是Qt_DIR/5.12.0/msvc2017_64/lib/cmake/Qt*,按左侧的名字勾选即可。 在这里插入图片描述 3.9 确定VTK_QT_VERSION是5版本。然后再次点击Config。 在这里插入图片描述 3.10 Configuring done后,此时是白色区域,代表没有错误。如果你的界面依旧有红色,返回检查以上哪步没有勾选,一直Config到白色界面位置。此时可以点击Generate。 在这里插入图片描述 3.11 Generate done后,同样是白色区域,代表没有错误。到这里CMAKE的阶段就已经完成了。 在这里插入图片描述 4. 开始VS编译安装VTK 4.1 Cmake阶段完成以后,找到我们规划的VTK-8.2.0-bin文件夹,找到VTK.sln。打开Visual Studio2017,如果你安装了VAssitX插件(小番茄)建议您暂时关闭该插件,因为会降低速度。此时打开VTK.sln项目,因为项目非常大,文件非常多,所以打开的速度会比较慢。 在这里插入图片描述 4.2 当你发现VS左下角显示就绪时,此时项目已经加载完毕。 在这里插入图片描述 4.3 此时选择【生成】–>【批生成】。 在这里插入图片描述 4.4 在ALL_BUILD Release x64 栏 勾选 √---->点击【生成】。还记得刚刚让你准备的瓜子、花生、电影么,现在派上用场了^ _ ^,因为这一步会执行很长的时间。看电脑配置,一般电脑大约在半小时左右。 在这里插入图片描述 4.5 有木有很开心,终于生成完了。 在这里插入图片描述 4.6 接下来,把刚刚勾选的ALL_BUILD Release后面的√去掉,下拉,在INSTALL Release后面勾选。这一步就是在安装VTK的Release版本。其本质就是生成Release版本的库文件。放心好了,这一步很快的。 在这里插入图片描述 4.7 当你看到这一步的时候,你已经成功的生成了VTK-8.2.0的Release版本的库文件。到哪里去找呢?生成的Release版库文件在我们规划的VTK-8.2.0-Install-VS2017-x64-Debug里面(因为我们Camke时选择的这个文件夹),这时我们需要把文件剪切到VTK-8.2.0-Install-VS2017-x64-Release文件夹里,到这里Release版本生成成功。 在这里插入图片描述 4.8 这便是VTK的库文件 在这里插入图片描述 4.9 你会发现Release版本的后面没有d。我们以后使用VTK进行开发,用的就是这些库文件。 在这里插入图片描述 4.10 如果你需要Debug版本的VTK库,此时需要在【生成】–>【批生成】里,把刚刚勾选的INSTALL Release后面的√取消。然后可以直接一起勾选ALL_BUILD DEBUG x64 与 INSTALL Debug,生成结束以后,会在VTK-8.2.0-Install-VS2017-x64-Debug文件夹里生成库文件。此时编译阶段完成。 在这里插入图片描述 4.11 生成的Debug版本的库后面带d,以区分Release版本。 在这里插入图片描述 4.12 生成之后的install文件夹 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

5. 例子验证 找到Cube这个工程,然后设置为启动项目,再运行程序,这个时候程序已经完整运行,证明我们安装正确。 在这里插入图片描述 6. 自己构建例子 6.1 重新构建一个空项目。 6.2 新建main.cpp 6.3 并将cube里面的代码复制到main.cpp里面 6.4 配准属性表 6.4.1 在界面左侧或者右侧有解决方案管理器 在这里插入图片描述 6.4.2 找到属性管理器,可以看到有四行,选择 Release | x64(这个和上面的模式是符合的) 右键,选择新建项目属性表 在这里插入图片描述 6.4.3 将项目属性表放在本工程文件夹的下面,确保你不会忘记在那里 6.4.4 找到该项目属性表: 在这里插入图片描述 图中第一项就是建立的 即ITKpropertyCanBeUsedForever 6.4.5 右键,选择 属性 6.4.6 添加库目录、头文件 VC++目录 --包含目录 中添加前面的安装文件夹,即…\itk_out\include VC++目录 --库目录里面包含…\itk_out\lib 在这里插入图片描述 6.4.7 在 链接器-输入-附加依赖项里面添加 …\itk_out\lib 里面的所有的.lib文件名 在这里插入图片描述 6.4.8 小技巧 在上面这个目录下建立一个txt文件: 输入:dir *.lib /b > all_lib.txt 然后将这个文件的后缀名 txt 修改为 bat。 然后双击! 会生成一个all_lib.txt文件。 将里面所有的内容复制。 6.4.9 点击应用和确定 在这里插入图片描述 6.6 设置对.dll文件的链接 选择-调试 在这里插入图片描述 打开HelloWorld属性. 然后配置下面的: 在这里插入图片描述 在环境里面添加…\itk_out\bin的路径。 格式为: path=%path%;…\bin // …\bin 是bin文件夹所在的路径 6.7 遇到dll找不到怎么办? 以下有几种方法: (1)配置 path 系统环境变量 (2)配置 VS “调试” 变量 (3)直接拷贝 DLL 到工程目录下 (4)直接拷贝 DLL 到 SYSTEM32(64) 文件夹中 着重介绍第一种方法: 右键单击 我的电脑 —属性—高级系统设置—环境变量,然后找到path后面的路径,双击: 在这里插入图片描述 6.8 新建一个路径(同6.6路径都是从install里面选择) 在这里插入图片描述 6.9 出现访问异常怎么办? 在这里插入图片描述 这主要是因为我们没用CMake 配置工程,而是自己新建的,这就导致生成工程的时候少了几行代码,没关系我们把他加在最前面。 关键的三行代码添加上去 #include VTK_MODULE_INIT(vtkRenderingOpenGL2); VTK_MODULE_INIT(vtkInteractionStyle); 6.10 设置程序模式为release X64(如果悬着Debug则类似操作) 6.11 运行程序 在这里插入图片描述 这样就可以运行自己的例子了,而且保存有自己制作的属性表! 7. 在QT里面运行VTK 7.1 将QT或者VTK添加到系统环境变量里面的方法 7.1.1 注意QT应该在VTK安装之前就已经安装好,然后再设置完QT的环境变量以后再安装VTK 7.1.2 打开任意一个文件夹,找到此电脑

在这里插入图片描述 7.1.3 鼠标放在上面,然后右键点击属性,打开控制面板 在这里插入图片描述 7.1.4 选择高级系统设置: 在这里插入图片描述 7.1.5 打开环境变量,在系统变量下面选择编辑: 在这里插入图片描述 7.1.6 在系统变量里面选择Path,然后点击编辑: 在这里插入图片描述 7.1.7 添加QT文件夹,这个文件夹应该是QT的安装路径(这个文件夹是QT的插件一类的东西,需要另外下载,是辅助VS使用QT产生的): 在这里插入图片描述 7.1.8 注意在QT的安装文件夹里面一共有两个版本: 在这里插入图片描述 这个版本一个是32位的,一个是64位的,这里我选择64位的。 等到VTK安装完成以后,其环境变量的添加也是类似的过程,需要添加的是其安装文件夹里面的bin文件夹 在这里插入图片描述 7.2 在QT里面使用VTK 将D:\FilesSetup\VTK\VTK-install\plugins\designer里面的 QVTKWidgetPlugin.dll 复制到:(这里一定要用release版本的QVTKWidgetPlugin.dll,对后面是否用debug或者release版本无影响,这里如果用的是debug版本很容易打不开qtdesigner,具体原因不详) 在这里插入图片描述 这个时候我们打开QT designer msvc x64: 在这里插入图片描述 会看到有这样的一个控件: 在这里插入图片描述 ok啦,差不多就结束了,vtk安装过程真的麻烦,水平有限,遇到的错误极多!!! 哈哈哈,希望对大家有帮助



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3